﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Data;

namespace prjMateriais
{
    public partial class frmGridMaterial : FormGridPadrao.frmFormGridPadrao
    {
        public frmGridMaterial()
        {
            InitializeComponent();
            this.tabela = ConstTabelas.MATERIAL;
            this.f = new frmCadMaterial();
            this.f.Text = "Material";
            setSelectInner();
        }

        private void frmGridMaterial_Load(object sender, EventArgs e)
        {
        }

        public void setSelectInner()
        {
            List<string> tabelas = new List<string>();
            List<string> campos = new List<string>();

            tabelas.Add(ConstTabelas.MATERIAL);
            tabelas.Add(ConstTabelas.SITUAÇAOMATERIAL);
            tabelas.Add(ConstTabelas.FABRICANTE);
            tabelas.Add(ConstTabelas.DIVISAOFABRICANTE);
            tabelas.Add(ConstTabelas.TIPOMATERIAL);
            tabelas.Add(ConstTabelas.FAMILIAMATERIAL);
            tabelas.Add(ConstTabelas.GRUPOMATERIAL);
            tabelas.Add(ConstTabelas.UNIDADEMEDIDA);

            campos.Add(ConstTabelas.MATERIAL + ".Codigo");
            campos.Add(ConstTabelas.MATERIAL + ".Nome");
            campos.Add(ConstTabelas.SITUAÇAOMATERIAL + ".Nome");
            campos.Add(ConstTabelas.FABRICANTE + ".Nome");
            campos.Add(ConstTabelas.DIVISAOFABRICANTE + ".Nome");
            campos.Add(ConstTabelas.TIPOMATERIAL + ".Nome");
            campos.Add(ConstTabelas.FAMILIAMATERIAL + ".Nome");
            campos.Add(ConstTabelas.GRUPOMATERIAL + ".Nome");
            campos.Add(ConstTabelas.UNIDADEMEDIDA + ".Nome");
            campos.Add(ConstTabelas.MATERIAL + ".EstoqueMinimo");
            campos.Add("case when " + ConstTabelas.MATERIAL + ".Situacao = 0 then 'Não' else 'Sim' end");
            campos.Add("case when " + ConstTabelas.MATERIAL + ".ControlaValidade = 0 then 'Não' else 'Sim' end");

            string condicao = "(" + ConstTabelas.MATERIAL + ".CodigoSituacao = " + ConstTabelas.SITUAÇAOMATERIAL + ".Codigo "
                              + " and " + ConstTabelas.MATERIAL + ".CodigoFabricante = " + ConstTabelas.FABRICANTE + ".Codigo "
                              + " and " + ConstTabelas.MATERIAL + ".CodigoDivisaoFabricante = " + ConstTabelas.DIVISAOFABRICANTE + ".Codigo "
                              + " and " + ConstTabelas.MATERIAL + ".CodigoTipoMaterial = " + ConstTabelas.TIPOMATERIAL + ".Codigo "
                              + " and " + ConstTabelas.MATERIAL + ".CodigoFamilia = " + ConstTabelas.FAMILIAMATERIAL + ".Codigo "
                              + " and " + ConstTabelas.MATERIAL + ".CodigoGrupo = " + ConstTabelas.GRUPOMATERIAL + ".Codigo "
                              + " and " + ConstTabelas.MATERIAL + ".CodigoUnidadeMedida = " + ConstTabelas.UNIDADEMEDIDA + ".Codigo)";

            this.selectInner = SqlCrud.getInstance.select(tabelas, campos, condicao);
        }

    }
}
